package com.neusoft.exercise;

import java.io.IOException;
import java.util.Scanner;

/**-
 * indent
 * @author LYW 
 * 给定一个任意的大写字母A~Z，转换为小写字母。
 *
 */
public class Letter {

	public static void main(String[] args) throws IOException {
		char chi = 'a';
		// 输出信息，要求输入一个字符
		System.out.println("请输入一个大写字母:");
		/*-
		 * indent(1)
		 * System.in.read() 定义byte数组来保存一次read的数据， 
		 * 取数组的第一个元素就是输入的字符 判断该字符是不是大写字母
		 * 如果是大写字母，调用方法 退出循环
		 */
		byte[] barray = new byte[10];
		while (true) {
			System.in.read(barray);
			chi = (char) barray[0];
			if ((chi >= 'A') && (chi <= 'Z')) {
				System.out.println("你输入的大写字母是:" + chi);
				upper2Lower(chi);
				break;
			} else {
				System.out.println("输入错误，请重新输入一个大写字母：");

			}
		}

		/*-
		 * Scanner 新建scanner实例,读取输入， 建一个字符串数组来存储字符串 取第一个字符做大小写判断
		 * indent(1)
		 * （1）String类的toCharArray()方法，将字符串转换为字符数组 
		 * （2）String类的valueOf()方法，将char类型的数组转换为字符串
		 */
		Scanner scanChar = new Scanner(System.in);
		String schar = "";
		char[] char4str = new char[10];
		System.out.println("请输入一个大写字母:");
		// while循环至输入正确字符，转换后退出
		while (true) {

			schar = scanChar.next();
			//
			char4str = schar.toCharArray();
			chi = char4str[0];
			// 判断是不是大写字母
			if ((chi >= 'A') && (chi < 'Z')) {
				System.out.println("你输入的大写字母是:" + chi);
				upper2Lower(chi);
				break;
			} else {
				System.out.println("输入错误，请重新输入一个大写字母：");

			}

		}

	}

	// 大写字母转化为小写字母+32
	static void upper2Lower(char chLetter) {
		// 用'a'-'A'来代替间隔
		char chLower = (char) (chLetter + ('a' - 'A'));
		System.out.println("的小写字母为" + chLower);
	}

	// 小写字母转化为大写字母-32
	static void lower2Upper(char chLetter) {
		// 用'a'-'A'来代替间隔
		char chUpper = (char) (chLetter - ('a' - 'A'));
		System.out.println("的大写字母为" + chUpper);
	}
}
